package com.ruicar.afs.cloud.account.common.util;

import java.util.ArrayList;
import java.util.List;

/**
 * @author infinity
 * @version 1.0
 * @date 2020/8/11 14:07
 */
public class ListSpitUtil {
    /**
     * 将一个list分隔成多个list
     *
     * @param list      需要分隔的list
     * @param splitSize 分隔的每个大小
     * @return 分隔后的多个list放在一个List 里
     */
    public static <T> List<List<T>> splitListToList(List<T> list, int splitSize) {
        List<List<T>> listBatch = new ArrayList<List<T>>();

        int listSize = list.size();
        int batchSize = listSize / splitSize;      // 总批数
        if (listSize % splitSize > 0) {
            batchSize += 1;
        }
        for (int i = 0; i < batchSize; i++) {
            int start = i * splitSize;
            int end = (i + 1) * splitSize;
            if (end > listSize) {
                end = listSize;
            }
            List<T> batchList = list.subList(start, end);
            listBatch.add(batchList);
        }
        return listBatch;
    }
}
